package tools

import "encoding/json"

func JsonToObject[T any](data []byte) (T, error) {
	var obj T
	err := json.Unmarshal(data, &obj)
	return obj, err
}

func JsonToString(obj interface{}) string {
	b, err := json.Marshal(obj)
	if err != nil {
		return ""
	}
	return string(b)
}

func JsonCopy(src interface{}, dst interface{}) error {
	p, err := json.Marshal(src)
	if err != nil {
		return err
	}
	return json.Unmarshal(p, dst)
}
